<html>
<body>
<h1>Template Parameters</h1>
<p>
Template parameter lists are syntactically similar to 
declarations without initializers:
<pre>

Param     ::= [TDecl (';' TDecl)*]
TDecl     ::= int TIL
           |  int '[' CExpr ',' CExpr ']' TIL
           |  clock IL
           |  chan IL
           |  urgent chan IL
           |  const IL
TIL ::= TID (',' TID)*
TID ::= ID | ID '[' CExpr ']' 
</pre>

<p>Note that in contrast to global and local declarations 
the parameter list should not end with a "<tt>;</tt>"-sign.

<h2>Examples:</h2>
<ul>
<li><tt>p( clock x; int[0,1] bit )</tt> - process template <tt>p</tt> has
  two parameters: the clock <tt>x</tt> and the boolean variable 
  <tt>bit</tt>.
<li><tt>q( clock x, y; int bit1, bit2; chan a, b )</tt> - process
  template <tt>q</tt> has six parameters: two clocks, two integer
  variables (with default range), and two action 
  channels.
</ul>

</body>
</html>
